This invention relates to integrating computer programs.
Different types of computer programs can be used to process different business activities in a company. For example, a customer relationship management (CRM) application can be used to process customer relationship activities, a supply chain management (SCM) application can be used to process production activities, and a product lifecycle management (PLM) application can be used to manage information across the whole spectrum of business activities in a company.
A first and second of such applications can have incompatible formats for processes and data. For example, the first application can produce output data in a format that is incompatible with a format of input data for the second application. The first and second applications will be referred to as heterogeneous applications. Furthermore, the first application can reside on a first computer system having formats for processes and data while the second application can reside on a second computer system that has formats for processes and data that is different from the formats of the first computer system. The systems can be produced by different companies that are unwilling or unable to agree to a standard format for processes and data. The first and second computer systems will be referred to as heterogeneous computer systems.
Heterogeneous computer systems can include one or more back-end components, such as a data server, and one or more middleware components, such as an application server. Heterogeneous computer systems can also include one or more front-end components, such as a client computer having a graphical user interface or a Web browser. The components of the system can be interconnected by any form or medium of digital data communication, such as a communication network. Examples of communication networks include a local area network (“LAN”), a wide area network (“WAN”), and the Internet.
Heterogeneous computer systems can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
A user will often interact with two or more heterogeneous computer systems from a single front end component that can be part of both heterogeneous computer systems. For example, the user can, through a Web browser on a desktop computer, interface with two heterogeneous applications that are executed by heterogeneous computer systems.